package com.meituan.sdk.model.foodmop.order.diancannewOrderQueryOrder;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 品牌查询美团的单笔订单
* This file was automatically generated.
*/
@ApiMeta(
    path = "/foodmop/order/diancannew/order/queryOrder",
    businessId = 51,
    apiVersion = "10012",
    apiName = "diancannew_order_query_order",
    needAuth = true
)
public class DiancannewOrderQueryOrderRequest implements MeituanRequest<DiancannewOrderQueryOrderResponse> {
    /**
    * <p data-diff-id="ct-diff-id-dfe81fa5-de5b-4b89-993e-16e10244a0d7"><span style="color: ">美团侧订单ID</span></p>
    */
    @NotBlank(message = "orderId不能为空")
    @SerializedName("orderId")
    private String orderId;
    /**
    * <p data-diff-id="ct-diff-id-1e7f8deb-00f9-4533-9874-57ce30b54f59"><span style="color: ">品牌订单ID</span></p>
    */
    @SerializedName("vendorOrderId")
    private String vendorOrderId;
    /**
    * <p data-diff-id="ct-diff-id-ad67832f-0dbf-4452-b73e-fcd1f7d66793"><span style="color: ">业务类型 10-MOP</span></p>
    */
    @NotNull(message = "bizType不能为空")
    @SerializedName("bizType")
    private Integer bizType;
    /**
    * <p data-diff-id="ct-diff-id-2a52149e-b608-4c88-a2e2-25c07a54945b"><span style="color: ">扩展字段 Map&lt;String,String&gt;</span></p>
    */
    @SerializedName("queryExt")
    private Map queryExt;

    public String getOrderId() {
        return orderId;
    }
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    public String getVendorOrderId() {
        return vendorOrderId;
    }
    public void setVendorOrderId(String vendorOrderId) {
        this.vendorOrderId = vendorOrderId;
    }
    public Integer getBizType() {
        return bizType;
    }
    public void setBizType(Integer bizType) {
        this.bizType = bizType;
    }
    public Map getQueryExt() {
        return queryExt;
    }
    public void setQueryExt(Map queryExt) {
        this.queryExt = queryExt;
    }


    @Override
    public MeituanResponse<DiancannewOrderQueryOrderResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<DiancannewOrderQueryOrderResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "DiancannewOrderQueryOrderRequest{" + "orderId=" + orderId + "," + "vendorOrderId=" + vendorOrderId + "," + "bizType=" + bizType + "," + "queryExt=" + queryExt + "}";
    }
}
